package com.wg.web.service;

import com.wg.common.core.domain.model.LoginUser;
import com.wg.common.core.enums.LoginType;
import com.wg.system.domain.vo.SysUserVo;

import java.util.function.Supplier;

/**
 * @author wg
 * @date 2024-02-20
 */
public interface ISysLoginService {

    void checkTenant(String tenantId);

    void checkLogin(LoginType loginType, String tenantId, String username, Supplier<Boolean> supplier);

    LoginUser buildLoginUser(SysUserVo user);

    void recordLoginInfo(String tenantId, String username, String status, String message);

    void recordLoginInfo(Long userId, String ip);
}
